package org.jsola.hr.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.jsola.core.vo.BaseVO;

import java.util.Date;

/**
 * 员工合同（电子合同和纸质合同）
 *
 * @author wu
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "【员工合同（电子合同和纸质合同）】列表展示对象")
@Data
public class HrContractVO extends BaseVO {

    @ApiModelProperty(notes = "id")
    private String id;

    @ApiModelProperty(notes = "员工姓名")
    private String userName;

    @ApiModelProperty(notes = "电话号码")
    private String phone;

    @ApiModelProperty(notes = "签署乙方账号")
    private String partyBAccountId;

    @ApiModelProperty(notes = "身份证号")
    private String idCard;

    @ApiModelProperty(notes = "公司id")
    private String companyId;

    @ApiModelProperty(notes = "公司名称")
    private String companyName;

    @ApiModelProperty(notes = "用户id")
    private String userId;

    @ApiModelProperty(notes = "员工id")
    private String empId;

    @ApiModelProperty(notes = "员工状态（1：待入职，2：入职，3：待离职，4：离职）")
    private Integer empStatus;

    @ApiModelProperty(notes = "是否是纸质合同")
    private Boolean isEntity;

    @ApiModelProperty(notes = "合同名称")
    private String conName;

    @ApiModelProperty(notes = "合同开始时间")
    private Date startDate;

    @ApiModelProperty(notes = "合同结束时间")
    private Date endDate;

    @ApiModelProperty(notes = "合同类型")
    private String conType;

    @ApiModelProperty(notes = "合同类型中文名称")
    private String conTypeStr;

    @ApiModelProperty(notes = "合同备注")
    private String conRemark;

    @ApiModelProperty(notes = "合同期限")
    private Integer timeLimit;

    @ApiModelProperty(notes = "合同期限单位：1-年 2-月")
    private Integer timeLimitType;

    @ApiModelProperty(notes = "合同签署完成时间")
    private Date signFinishDate;

    @ApiModelProperty(notes = "合同文件（sql电子合同会返回null）")
    private String filePath;

    @ApiModelProperty(notes = "创建时间")
    private Date gmtCreate;

    @ApiModelProperty(notes = "租户id")
    private String siteId;

    @ApiModelProperty(notes = "是否有效")
    private Boolean isValid;

    @ApiModelProperty(notes = "剩余有效时间")
    private Long remainingValidTime;

    @ApiModelProperty(notes = "合同期限(拼接转换好的 前端可以直接展示)")
    private String contractLine;

    @ApiModelProperty(notes = "员工是否有效")
    private Boolean empIsValid;


}
